Last-use Opacity: A Strong Safety Property for Transactional Memory with Early Release Support

نویسندگان

  • Konrad Siek
  • Pawel T. Wojciechowski
چکیده

Transaction Memory (TM) is a concurrency control abstraction that allows the pro-grammer to specify blocks of code to be executed atomically as transactions. However,since transactional code can contain just about any operation attention must be paidto the state of shared variables at any given time. E.g., contrary to a database trans-action, if a TM transaction reads a stale value it may execute dangerous operations,like attempt to divide by zero, access an illegal memory address, or enter an infiniteloop. Thus serializability is insufficient, and stronger safety properties are required inTM, which regulate what values can be read, even by transactions that abort. Hence,a number of TM safety properties were developed, including opacity, and TMS1 andTMS2. However, such strong properties preclude using early release as a techniquefor optimizing TM, because they virtually forbid reading from live transactions. Onthe other hand, properties that do allow early release are either not strong enough toprevent any of the problems mentioned above (recoverability), or add additional con-ditions on transactions with early release that limit their applicability (elastic opacity,live opacity, virtual world consistency). This paper introduces last-use opacity, a newTM safety property that is meant to be a compromise between strong properties likeopacity and serializability. The property eliminates all but a small class of inconsistentviews and poses no stringent conditions on transactions. For illustration, we present alast-use opaque TM algorithm and show that it satisfies the new safety property.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

On Safety of Replicated Transactional Memory

Transaction Memory (TM) is a concurrency control abstraction that allows the programmer to specify blocks of code to be executed atomically. In this paper, we consider a distributed variant of TM in which transactional memory is consistently replicated on network nodes for greater availability and fault-tolerance. We argue that opacity, a standard TM safety property, is misused when applied to ...

متن کامل

Provable STM Properties: Leveraging Clock and Locks to Favor Commit and Early Abort

The aim of a Software Transactional Memory (STM) is to discharge the programmers from the management of synchronization in multiprocess programs that access concurrent objects. To that end, a STM system provides the programmer with the concept of a transaction: each sequential process is decomposed into transactions, where a transaction encapsulates a piece of code accessing concurrent objects....

متن کامل

Modularising Opacity Verification for Hybrid Transactional Memory

Transactional memory (TM) manages thread synchronisation to provide an illusion of atomicity for arbitrary blocks of code. There are various implementations of TM, including hardware (HTM) and software (STM). HTMs provide high performance, but are inherently limited by hardware restrictions; STMs avoid these limitations but suffer from unpredictable performance. To solve these problems, hybrid ...

متن کامل

Proving Opacity via Linearizability: A Sound and Complete Method

Transactional memory (TM) is a mechanism that manages thread synchronisation on behalf of a programmer so that blocks of code execute with the illusion of atomicity. The main safety criterion for transactional memory is opacity, which defines conditions for serialising concurrent transactions. Verifying opacity is complex because one must not only consider the orderings between fine-grained (an...

متن کامل

Reducing Opacity to Linearizability: A Sound and Complete Method

Transactional memory is a mechanism that manages thread synchronisation on behalf of a programmer so that blocks of code execute with an illusion of atomicity. The main safety criterion for transactional memory is opacity, which defines conditions for serialising concurrent transactions. Proving opacity is complicated because it allows concurrent transactions to observe distinct memory states, ...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:
  • CoRR

دوره abs/1506.06275  شماره 

صفحات  -

تاریخ انتشار 2015